Connection Attributes
Transient store connections require the following attributes;
Timeout
This attribute determines whether the connection will poll or block (see Connection Timeout).
Signature
This attribute is a string that describes the mapping from elements in the consumer, to elements in the transient store. See Connection Signature.
Dimspec
This attribute determines the dimensionality of the connection array owned by each consuming element. By default, this will provide the consuming element with one connection for each provider element. Collector, Multiplexor and Manual connection consumers can have multi-dimensional connection arrays, but in all other cases, this attribute will be '1'. See Connection Dimspec.
Repeat Count
This attribute determines the number of times that each 'provider element to consumer element' connection is repeated. If the repeat count is greater then one, then the Dimspec attribute (above), and the resulting connection access functions, will both have an 'extra' dimension. Only Collector, Multiplexor and Manual connection consumers can have repeat counts that are greater than '1'. See Connection Repeat Count.
Name
This attribute determines the connection's 'name' which is used to construct access function names (see Connection Names).
Access
This attribute determines whether the consumer is requesting read or write access to the store's data.
Key
This attribute can be used as a means of filtering reads. If a writer specifies a key then it is associated with the buffer instance. Readers that specify a key and a rule will only be granted access to data that satisfies their specified constraint. See Store Keys and Rules.
Rule
This attribute can be used by readers as a means of filtering out data of interest (see Store Keys and Rules).
Additional attributes may also be required that are specific to the connection's consuming object. These are documented in their respective sections.
Manual Connections
The following member functions apply to manual connections only (see Manual Connections);
OpenWrite()
This member function opens the store for write access (see TST OpenWrite function).
OpenRead()
This member function opens the store for read access (see TST OpenRead function).
Close()
This member function closes a store that was successfully opened for write or read (see TST Close function).
Automatic and Manual Connections
The following are provided by both automatic and manual connections, but are only valid when the connection has been opened (see Automatic Connections);
AbortWrite()
This member function aborts a write to a store that has been successfully opened for write, but not yet closed. The 'close' call is still required. See TST Abort function.
AbortReadToBack()
This member function aborts a read from a store that has been successfully opened for read, but not yet closed. The 'close' call is still required. See TST AbortToBack function. The read buffer is returned to back of the store's readable buffer queue where it can be read again at a later stage.
AbortReadToFront()
This member function aborts a read from a store that has been successfully opened for read, but not yet closed. The 'close' call is still required. See TST AbortToFront function. The read buffer is returned to the front of the store's readable buffer queue where it can be read again at a later stage. Note that buffers returned to the front of the queue will be the 'next' buffers read.
Record()
If the connection has been successfully opened, and not yet closed, then this member function returns a reference to the store's data record object. If the buffer mode (see above) is not 'static' then the data object will need to be constructed before it can be referenced (see access functions).
Status()
This member function returns the connection's event status. If the store has been successfully opened for read, write, or write, then the status function will return; CLP_EVENT_OPEN_READ or CLP_EVENT_OPEN_WRITE or respectively. If the store has been successfully closed the function will return CLP_EVENT_CLOSED.
IsOpen()
This member function returns TRUE if the connection is 'Open' or FALSE otherwise.
Key()
This member function returns the key that is associated with the currently 'Open' buffer (see key attribute above).